#!

use Coffee; 
$cup = new Coffee; 
print "\n -------------------- Initial values ------------ \n";
print "Coffee:", $cup->{"Coffee"},"\n"; 
print "Bean:", $cup->{"Bean"},"\n"; 
print "\n -------------------- Change Bean Type ---------- \n"; 
$cup->setBeanType("Mixed"); 
print "Bean Type is now: ", $cup->{"Bean"},"\n"; 
print "\n ------------------ Change Coffee Type ---------- \n"; 
$cup->setCoffeeType("Instant"); 
print "Type of coffee: ",$cup->{"Coffee"},"\n"; 

# 
# With no parameters 
# 
print "\n Calling with no parameters: \n"; 
$cup->makeCup; 
# 
# With one parameter 
# 
print "\n Calling with one parameter: \n"; 
$cup->makeCup("1"); 
# 
# With two parameters 
# 
print "\n Calling with two parameters: \n"; 
$cup->makeCup(1,"2"); 
# 
# With all three parameters 
# 
print "\n Calling with three parameters: \n"; 
$cup->makeCup("1",3,"1"); 


$b = new Bean;
$c = new Coffee;

print "\n====testing override methods=====\n";
$b->printType;
$c->printType;
